/*
   Copyright (c) [2023] [魔凤啸天]
   [MFUI] is licensed under Mulan PSL v2.
   You can use this software according to the terms and conditions of the Mulan PSL v2. 
   You may obtain a copy of Mulan PSL v2 at:
            http://license.coscl.org.cn/MulanPSL2 
   THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.  
   See the Mulan PSL v2 for more details.  
*/
#pragma once
#include "button.hpp"
#include<string>
#include "textutil.hpp"

namespace MFUI{
	class TextButton:public Button,public TextNodeBase{
		protected:
		~TextButton()override;
		void _updatebase()override;
		void _updatetext()override;
		void _losefocus(Window* w)override;
		void _pressed(Window* w,SDL_FPoint p)override;
		void _released(Window* w,SDL_FPoint p)override;
		
		public:
		TextButton(const std::string& text,Font* font,int fontsize=18,
		SDL_Color textcolor={255,255,255,255},SDL_Color background={100,100,100,255});

		void draw(Renderer* r,bool updatecache)override;
		void mouseentered(Window* w)override;
		void mouseexited(Window* w)override;
	};
}